package com.company.cloud.pay.modules.third.factory;

import com.company.cloud.pay.modules.api.request.PayOrderCloseRequest;
import com.company.cloud.pay.modules.api.request.PayOrderQueryRequest;
import com.company.cloud.pay.modules.api.request.PayOrderRequest;
import com.company.cloud.pay.modules.cache.model.PayApiConfig;
import com.company.cloud.pay.modules.third.models.ThirdPayResp;
import com.company.cloud.pay.modules.third.models.ThirdQueryOrderResp;
import com.company.cloud.pay.modules.third.models.ThirdUnifiedOrderResp;

public interface CloudPayApiService {

    /**
     * 统一下单
     */
    public ThirdUnifiedOrderResp unifiedOrder(PayApiConfig payConfig, PayOrderRequest request);

    /**
     * 订单查询
     */
    public ThirdQueryOrderResp queryOrder(PayApiConfig payConfig, PayOrderQueryRequest request);

    /**
     * 关闭订单
     */
    public ThirdPayResp closeOrder(PayApiConfig payConfig, PayOrderCloseRequest request);

}
